1. Field of the Invention
Embodiments of the present invention relate generally to content protection techniques, and more specifically to a method and system of determining the compliance of encrypted and non-encrypted display outputs.
2. Description of the Related Art
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Digitization of content not only provides new ways to distribute and commercialize content, but it also enables new and easier ways to violate copyright or to steal or misuse premium content such as feature films. To combat rampant piracy of digital content, some content providers have developed advanced content protection schemes in digital medium such as laser disks and cable/satellite TV, and impose strict requirements on the licensees of such conveyance schemes in order to safeguard their premium content. For example, the content protection licenses for popular content formats and mediums, such as Digital Versatile Disc (“DVD”), Blu-ray, High Definition (“HD”) DVD, Fairplay, and OpenCable, include requirements of safeguarding the handling and protection of content during the decode process to prevent unintended interception and copying.
One of the requirements is to verify the compliance of the display outputs to the standards of the content protection schemes before delivering or continuing to deliver data to such display outputs. With all the different types of display devices that are available today, there is a need for a client application to efficiently and thoroughly verify the compliance of the display devices, regardless of whether the display devices support encryption.
As a part of verifying the compliance of the display outputs, especially when dealing with a graphics adapter that has many content outputs, whether the display content actually reaches an intended display output destination needs to be verified. FIG. 1 is a simplified block diagram illustrating how the content to be played by a content player 102 executing in a computer system 100 may be maliciously rerouted from an intended output destination to an unintended one. Suppose the content is initially stored in a storage device 104. To play back the content, the content player 102 causes the content to be retrieved from the storage device 104 and temporarily stores it in a specific location of the memory 106 for processing. After a conventional graphics adapter 110 in the computer system 100 processes the display content, it sends the processed content in the form of a display content stream to an intended output or an attach point 125. An attach point generally refers to a physical attachment location for a display device, such as a High-Definition Multimedia Interface (“HDMI”) connector or an internal panel. Here, the graphics adapter 110 has two attach points, AP#1 and AP#2. The AP#1 is attached to a display device 132 and is the intended attach point in this illustration. Suppose the AP#1 is a Digital Visual Interface (“DVI”) connection that supports High-Bandwidth Digital Content Protection (“HDCP”), and the AP#2 is associated with an unprotected analog connection to an analog display device 134. As the display content stream travels through the graphics adapter 110, a rogue agent may redirect the display content stream to the AP#2 instead. Even though the content player 102 is assured by the driver of the graphics adapter 110 that the AP#1 is the destination for the display content stream, the rogue agent can, without being detected by the content player 102, modify software-accessible registers in the graphics adapter 110 to cause the redirection of the display content stream to the unprotected AP#2. Once redirected, the display content stream can be illegally duplicated.
As the foregoing illustrates, what is needed in the art is a method and system that are capable of determining the compliance of a display output and address at least the shortcomings of the prior art approaches set forth above.